package org.eclipse.jdt.internal.ui.callhierarchy;

import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;

import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaModelException;

/**
 * 用于编译workspace
 * .
 * @author hehuang 20180222
 *
 */
public interface WorkspaceVisitor {

	boolean visit(IWorkspace workspace) throws JavaModelException;
	
	boolean visit(IProject project) throws JavaModelException ;
	
	boolean visit(IJavaProject javaProject) throws JavaModelException;
	
	boolean visit(IPackageFragmentRoot packageFragmentRoot) throws JavaModelException;
	
	boolean visit(IPackageFragment packageFragment) throws JavaModelException;
	
	boolean visit(ICompilationUnit compilationUnit) throws JavaModelException;
}
